#include "square.h"

#include <string>
#include <iostream>

#ifdef _MAC_OS_
#include <GLUT/glut.h>
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#else
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#endif

using namespace std;

Square::Square(){
};

void Square::setPosition(vec2f v){
    _pos = v;
};

void Square::setPosition(float a, float b){
    _pos = vec2f(a, b);
};

void Square::setDim(vec2f v){
    _dim = v;
};

void Square::setColor(vec3f v){
    _color = v;
};

void Square::setSpeed(vec2f speed){
	_speed = speed;
};

const vec2f& Square::getDim() const{
    return _dim;
};

const vec2f& Square::getPos() const{
    return _pos;
};

const vec3f& Square::getColor() const{
    return _color;
};

const vec2f& Square::getSpeed() const{
    return _speed;
};

void Square::draw() const{
  glColor3f(_color.getX(),
            _color.getY(),
            _color.getZ());

    glBegin (GL_TRIANGLES);
    glVertex2f (_pos.getX()+_dim.getX()/2, _pos.getY()+_dim.getY()/2);
    glVertex2f (_pos.getX()+_dim.getX()/2, _pos.getY()-_dim.getY()/2);
    glVertex2f (_pos.getX()-_dim.getX()/2, _pos.getY()+_dim.getY()/2);
    
    glVertex2f (_pos.getX()-_dim.getX()/2, _pos.getY()-_dim.getY()/2);
    glVertex2f (_pos.getX()-_dim.getX()/2, _pos.getY()+_dim.getY()/2);
    glVertex2f (_pos.getX()+_dim.getX()/2, _pos.getY()-_dim.getY()/2);
  glEnd ();
};
